#pragma once
#include "IComponent.h"

class BonhommeComponent : public ZeEngine::IComponent
{
public:
    BonhommeComponent();
    ~BonhommeComponent();

    enum BonhommeState
    {
        eIdle,
        eWalking,
    };

    void ChangeState(BonhommeState newState) { m_state = newState; }
    BonhommeState GetState() { return m_state; }

    std::queue<Entity*>& GetCurrentPath() { return m_currentPath; }
    Entity* GetDestinationRoom() { return m_pDestinationRoom; }

    void UpdateNextDestination();

private:
    BonhommeState       m_state;
    std::queue<Entity*> m_currentPath;
    Entity*             m_pDestinationRoom;

#define ICOMPONENT_I
#include ICOMPONENT_H
};

